iT邦幫忙

2023 iThome 鐵人賽

DAY 5
0
Modern Web

自己開發一個~?系列 第 5

介紹程式碼到一半

  • 分享至 

  • xImage
  •  

今天是忙碌的 一天超怕忘記貼~/images/emoticon/emoticon04.gif

這裡就是解釋JAVA程式碼~到一半
/images/emoticon/emoticon04.gif
程式碼

package Exception;

public class Ex01 {

	public static void main(String[] args) {

		try {
			//置放可能有問題的程式碼
			int rand = (int)(Math.random()*10);//0-9
			int[] a = {10,11,12,13,14};
			System.out.println(a[rand]);	
			System.out.println(10/rand);
			System.out.println("OVER");		
		}
		//catch(例外物件的類型名稱){處理方式}
		catch(ArithmeticException e) {
			System.out.println("數學問題");
		}
		catch(ArrayIndexOutOfBoundsException e) {
			System.out.println("陣列問題");
		}
		catch(RuntimeException e) { 
			System.out.println("其他問題");
		}
		finally {
			System.out.println("一定會執行"); 
		}
}
}

顯示

https://ithelp.ithome.com.tw/upload/images/20231018/20119035yQ5U0QMDys.png

解釋程式碼
這段Java程式碼示範了如何使用try-catch-finally區塊來處理例外情況。以下是程式碼的解釋:

  1. try區塊中,我們放置可能會拋出例外的程式碼。

    • 首先,我們生成一個隨機數rand,它的範圍是0到9。
    • 接著,我們有一個整數陣列a,並嘗試輸出a[rand],這可能會拋出ArrayIndexOutOfBoundsException例外,如果rand的值大於或等於a的長度。
    • 然後,我們嘗試計算10/rand,這可能會拋出ArithmeticException例外,如果rand的值為0。
    • 最後,我們輸出"OVER"。
  2. catch區塊中,我們定義了幾個catch區塊,每個區塊處理不同類型的例外情況:

    • 第一個catch區塊處理ArithmeticException,即數學問題。如果在try區塊中拋出了ArithmeticException,則執行這個區塊的程式碼。
    • 第二個catch區塊處理ArrayIndexOutOfBoundsException,即陣列問題。如果在try區塊中拋出了ArrayIndexOutOfBoundsException,則執行這個區塊的程式碼。
    • 第三個catch區塊處理RuntimeException,即其他問題。如果在try區塊中拋出了任何未被前兩個catch區塊處理的例外,則執行這個區塊的程式碼。
  3. finally區塊中的程式碼一定會執行,不論是否拋出了例外。在這個例子中,不管發生了什麼情況,"一定會執行" 這段文字都會被輸出。

總結來說,這段程式碼演示了如何使用try-catch-finally結構來處理可能拋出的例外情況,並在catch區塊中根據例外的類型執行不同的處理程式碼。finally區塊中的程式碼則確保不論是否拋出例外,都會被執行。

/images/emoticon/emoticon08.gif

/images/emoticon/emoticon08.gif

謝謝收看/images/emoticon/emoticon41.gif


上一篇
JAVA程式碼~HashSet
下一篇
JAVA程式碼~
系列文
自己開發一個~?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言